# curs_overlay 3x

    curs_overlay(3x)                                       curs_overlay(3x)

## NAME

           overlay, overwrite, copywin - overlay and manipulate
           overlapped curses windows

## SYNOPSIS

           #include <curses.h>

           int overlay(const WINDOW *srcwin, WINDOW *dstwin);
           int overwrite(const WINDOW *srcwin, WINDOW *dstwin);
           int copywin(const  WINDOW  *srcwin,  WINDOW  *dstwin,  int
           sminrow,
                 int smincol, int dminrow, int dmincol, int dmaxrow,
                 int dmaxcol, int overlay);

## DESCRIPTION

           The  overlay  and overwrite routines overlay srcwin on top
           of dstwin.  scrwin and dstwin are not required to  be  the
           same  size;  only  text  where  the two windows overlap is
           copied.  The difference is that overlay is non-destructive
           (blanks  are not copied) whereas overwrite is destructive.

           The copywin routine provides a finer granularity  of  con-
           trol over the overlay and overwrite routines.  Like in the
           prefresh routine, a rectangle is specified in the destina-
           tion  window,  (dminrow,  dmincol) and (dmaxrow, dmaxcol),
           and the upper-left-corner coordinates of the  source  win-
           dow, (sminrow, smincol).  If the argument overlay is true,
           then copying is non-destructive, as in overlay.

## RETURN VALUE

           Routines that return an integer return ERR  upon  failure,
           and  OK  (SVr4 only specifies "an integer value other than
           ERR") upon successful completion.

           X/Open defines no error conditions.  In  this  implementa-
           tion,  copywin,  overlay  and overwrite return an error if
           either of the window pointers are null, or if some part of
           the window would be placed off-screen.

## NOTES

           Note that overlay and overwrite may be macros.

## PORTABILITY

           The XSI Curses standard, Issue 4 describes these functions
           (adding the const qualifiers).  It further specifies their
           behavior in the presence of characters with multibyte ren-
           ditions (not yet supported in this implementation).

## SEE ALSO

           curses(3x), curs_pad(3x), curs_refresh(3x)

                                                           curs_overlay(3x)